/**
 * 
 */
package com.sc.softmgr.common.web;

import java.util.ArrayList;
import java.util.List;

import com.acc.softmgr.model.SysMenu;

/**
 * 
 * @content 用于页面通用处理
 * 
 * @date 2017年5月12日
 * 
 * @author OprCalf
 * 
 */
public class PageObject {

	/**
	 * 创建树
	 * 
	 * @param psMenus
	 */
	public static List<SysMenu> buildTree(List<SysMenu> psMenus) {
		List<SysMenu> firstMenus = new ArrayList<SysMenu>();
		for (SysMenu node : psMenus) {
			if (node.getParent_id() == null || node.getParent_id() == 0) {
				firstMenus.add(node);
			}
		}
		psMenus.removeAll(firstMenus);
		buildMenuTree(firstMenus, psMenus);
		return firstMenus;
	}

	private static void buildMenuTree(List<SysMenu> firstMenus, List<SysMenu> menus) {
		List<SysMenu> copyMenus = new ArrayList<SysMenu>(menus);
		for (SysMenu menu : firstMenus) {
			for (SysMenu m : copyMenus) {
				if (m.getParent_id().equals(menu.getId())) {
					menu.getChildren().add(m);
				}
			}
		}
		for (SysMenu menu : firstMenus) {
			if (menu.getChildren() != null && menu.getChildren().size() > 0) {
				buildMenuTree(menu.getChildren(), copyMenus);
			}
		}
	}
}
